Code:

c = (unsigned char*)slots[35];
if (c[0] == 0xc3)
{
slots[55] = (DWORD)&Gateway1_HUD_TempEntUpdate;
}             


change it to this
Code:

slots[35] = (DWORD)&Gateway1_HUD_TempEntUpdate;


Now notice the [55] its suppost to be [35] 